なぜ誰も CTF ツール大全のような素晴らしいものを作らないのか?入門者がスクリプトキッドになるためには、どのスクリプトが使えるかを知っておく必要があると思う... とにかく、飛飛はこのようなものを整理したいと思っている、構造はおおよそカテゴリ - 名称 - 説明 & 使用例
ただ私たちが好きなツールですよ、私たちは Linux を使うのがもっと好きなので、動かないか性能が非常に低いものは列挙しません、広く知られているツールの BurpSuite のようなものも列挙しません
少し書いてみたら、実は随波逐流ソフトウェアサイトがいくつかのツールを提供していることがわかったので、彼を手伝って統合します。
エンコードとデコード#
随波逐流#
ワンクリックでデコード、ダウンロード先: 公式サイト
ただし、これがネットワーク接続を必要とする更新チェックを行うとは、サイバー潔癖症が発症しました、いつかこれをハックします
Bottles を使って exe を体験するのも非常に悪い、低評価
XXencode#
オンラインワンクリックデコードツール、一部のオフライン大会ではネット接続が禁止されているため、やはり随波逐流を使うしかありません (うんざり)
クリックしてアクセス
暗号#
これは主に数学の問題でしょう、使用されるのは Python のライブラリです。
gmpy2#
高精度高効率の大数演算ライブラリ
pip install gmpy2
PWN#
pwntools#
pip install pwntools
Web#
wabt#
WebAssembly ファイルを C 言語コードに変換し、IDA で分析するために使用します。
wasm2c webassembly.wasm -o web.c -o-h web.h
wasm2c によってエクスポートされた C 言語コード自体には実行可能なエントリが含まれておらず、ランタイムが欠けています。wasm_rt_* は wabt プロジェクト内の wasm-rt-impl.c によって提供されます。また、w2c_wasi__snapshot__preview1_fd_write、w2c_env_0x5Femscripten_memcpy_js などの名前は、wasm2c が WASI/Emscripten のインポート用に生成したラッパー関数であり、自分で実装するか、既存の「ミニ WASI」実装にリンクする必要があります。公式の例では、これらの実装を imports.c に配置し、0 を返すか、実際のシステムコールを呼び出すだけで済みます。そうでない場合、「unknown import」と表示されます。
// imports.c
#include <stddef.h>
#include <stdint.h>
#include "wasm-rt.h"
uint32_t w2c_wasi__snapshot__preview1_fd_write(void* unused, uint32_t fd,
uint32_t iovs, uint32_t iovs_len,
uint32_t nwritten) {
return 0;
}
void w2c_env_0x5Femscripten_memcpy_js(void* unused) {}
void w2c_env_emscripten_resize_heap(void* unused) {}
手書きの main.c
はコンパイルできます。
#include "web.h"
#include <stdio.h>
int main(void) {
/* 1) wasm‑rt グローバルランタイムを初期化 */
wasm_rt_init();
/* 2) モジュールをインスタンス化(完全なインポートテーブルは必要ないので NULL を渡す) */
struct w2c_webassembly inst;
wasm2c_webassembly_instantiate(&inst, NULL, NULL);
/* 3) すべてのグローバルコンストラクタ(static ctors)を実行 */
w2c_webassembly_0x5F_wasm_call_ctors(&inst);
/* 4) Emscripten スタックを初期化 */
w2c_webassembly_emscripten_stack_init(&inst);
/* 5) main をエクスポートして呼び出す(argc=0, argv_ptr=0 を渡す) */
u32 rc = w2c_webassembly_main(&inst, 0, 0);
printf("wasm main returned %u\n", rc);
/* 6) インスタンスとランタイムをクリーンアップ */
wasm2c_webassembly_free(&inst);
wasm_rt_free();
return 0;
}
コンパイルコマンド
gcc -O2 -I. -I/usr/include/wabt/wasm2c -DWASM_RT_MALLOC \
web.c imports.c main.c /usr/share/wabt/wasm2c/wasm-rt-impl.c \
-lm -o webdemo
デジタルフォレンジック#
Volatility#
メモリフォレンジックツール
git clone https://github.com/volatilityfoundation/volatility3.git
cd volatility3
pip install -r requirements.txt
使用例#
envars
は Volatility のプラグインで、メモリダンプ内の環境変数を抽出してリストします。環境変数には、システムやユーザー設定に関する情報が含まれています。例えば、パスやシステム設定などです。
.\volatility -f .\1.raw --profile=Win7SP1x64 envars | grep 'n0wayback'
pslist
は Volatility のプラグインで、メモリ内のすべてのプロセスをリストします。メモリ内のプロセスのリンクリストを分析して、すべてのアクティブなプロセス情報をリストします。これにはプロセスの PID、プロセス名、親プロセスなどが含まれます。
.\volatility -f .\1.raw --profile=Win7SP1x64 pslist
0xfffffa8001a022a0 mspaint.exe 2052 1028 6 120 1 0 2024-03-04 05:50:22 UTC+0000
0xfffffa8003c68a80 cmd.exe 4188 1028 3 111 1 0 2024-03-04 05:50:26 UTC+0000
0xfffffa800418c060 Code.exe 888 1028 31 696 1 0 2024-03-04 05:52:52 UTC+0000
mspaint.exe
プロセスが存在することがわかり、メモリダンプを行います。
memdump
は Volatility のプラグインで、特定のプロセスのメモリイメージを抽出します。このプラグインは指定された PID に基づいてプロセスのメモリ内容を抽出します。
.\volatility -f .\1.raw --profile=Win7SP1x64 memdump -p 2052 -D ./
consoles
は Volatility のプラグインで、コンソールに関連するセッション情報を抽出してリストします。コンソールセッションとは、コマンドラインツール(cmd.exe や powershell.exe)のアクティブなセッションを指し、Volatility はそれらの詳細情報をリストします。具体的には、consoles
プラグインはメモリ内に存在するすべてのコンソールセッションの関連データを表示します。これにはセッション ID、コマンド履歴、実行されたコマンドなどの情報が含まれます。
.\volatility -f .\1.raw --profile=Win7SP1x64 consoles
その他#
jwt.io#
オンラインで JWT トークンをエンコードおよびデコードできます。
SQL インジェクション#
ffifdyop#
md5(ffifdyop) = 'or'66�]��!r,��b
md5 の後にこの恒真万能口令を使ってインジェクションできます。